Firebase DynamicLinks の イベント数を計測する
こんにちは、モバイルサービス部橋本です 今回は、Firebase DynamicLinksのイベント数の取得について調査したので、その内容についてまとめます
Firebase DynamicLinksの生成
DynamicLinkの作成方法は以下の4つの方法があります
ただし、手動で作成した場合はAnalyticsの対象にはならないので、注意が必要です。
- Firebase コンソールを使用する
- iOS と Android で Dynamic Link Builder API を使用する
- REST API を使用する
- URLパラメータを使用して、手動で作成する
Firebase ドキュメント-ダイナミック リンクを作成する
トラッキングできるイベントの種類
上記の手動以外で生成したDynamicLinksに対して、トラッキングできるイベントの種類は以下のようになっています
- アプリの初回起動数
- アプリの再開数
- クリック数
- リダイレクト数
- アプリ インストール数 (Play ストアのみ)
Firebase ドキュメント-Dynamic Links アナリティクス データを表示する
イベント数を計測してみる
DynamicLinks Analytics APIを利用して、実際にAnalyticsイベント数を計測してみます
アクセストークンの取得
DynamicLinks Analytics APIにアクセスするためのアクセストークンを取得します
- Firebaseのコンソール画面にログインし、「プロジェクトの設定」 - 「サービスアカウント」をクリックします
- 画面内の「新しい秘密鍵の生成」ボタンから秘密鍵をダウンロードします
- 上記で取得した秘密鍵ファイルを使用して、以下のようにアクセストークンを取得します
【Node.jsの場合】
var google = require("googleapis"); // Load the service account key JSON file. var serviceAccount = require("path/to/serviceAccountKey.json"); // Specify the required scope. var scopes = [ "https://www.googleapis.com/auth/firebase" ]; // Authenticate a JWT client with the service account. var jwtClient = new google.auth.JWT( serviceAccount.client_email, null, serviceAccount.private_key, scopes ); // Use the JWT client to generate an access token. jwtClient.authorize(function(error, tokens) { if (error) { console.log("Error making request to generate access token:", error); } else if (tokens.access_token === null) { console.log("Provided service account does not have permission to generate access tokens"); } else { var accessToken = tokens.access_token; // Include the access token in the Authorization header. } });
成功するとアクセストークンが取得できます。
続いて、取得したアクセストークンを利用して DynamicLinks Analytics API からイベント数を計測します。
DynamicLinks Analytics APIからイベント数を計測
以下のHttpリクエストを実行することで、イベント数を計測できます。
GET https://firebasedynamiclinks.googleapis.com/v1/<SHORT_DYNAMIC_LINK>/linkStats?durationDays=<DURATION> Authorization: Bearer <ACCESS_TOKEN>
- SHORT_DYNAMIC_LINK : 生成したDynamicLink
- DURATION : データの取得日数(過去○日分)
- ACCESS_TOKEN : 取得したアクセストークン
成功すると、以下のようなレスポンスが取得でき、それぞれのイベント数が計測できます
{ "linkEventStats": [ { "count": "1", "event": "APP_RE_OPEN", "platform": "ANDROID" }, { "count": "1", "event": "CLICK", "platform": "ANDROID" } ] }